// $ANTLR 3.4 C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g 2012-05-05 13:59:49

package com.plt.w2w;
import java.util.Map;
import java.util.HashMap;
import java.io.*;
import java.util.ArrayList;
import java.io.PrintWriter;
import java.text.ParseException;

import java.text.SimpleDateFormat;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class GrammarBackup5Parser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "AGE", "AND", "ASSIGNMENT_OP", "CATEGORY", "COLORT", "CONDITIONAL_OP", "CREATEEVENT", "CREATET", "DATE", "DATET", "DELIMITER", "ELSE", "ENDDATE", "ENDOFSTMT", "ENDTIME", "EVENT", "EXPR", "FOREACH", "GARMENT", "GENERATEOUTFIT", "HUMIDITY", "IDENTIFIER", "IF", "INCLUDE", "INT", "ITEMT", "LEFTCURLY", "LEFTPARAN", "MAIN", "MAKERT", "NUMBER", "OCCUPATION", "OR", "PREFERENCET", "PRINTT", "QUOTE", "READT", "REJTOK", "RETTOK", "RIGHTCURLY", "RIGHTPARAN", "SHADET", "STARTDATE", "STARTTIME", "STRING", "STRINGTOK", "TEMPERATURE", "USER", "USET", "VOID", "WARDROBET", "WEATHER", "WEIGHT", "WS", "' in the '", "'+'", "','", "'1'", "'2'", "'3'", "'for each '"
    };

    public static final int EOF=-1;
    public static final int T__58=58;
    public static final int T__59=59;
    public static final int T__60=60;
    public static final int T__61=61;
    public static final int T__62=62;
    public static final int T__63=63;
    public static final int T__64=64;
    public static final int AGE=4;
    public static final int AND=5;
    public static final int ASSIGNMENT_OP=6;
    public static final int CATEGORY=7;
    public static final int COLORT=8;
    public static final int CONDITIONAL_OP=9;
    public static final int CREATEEVENT=10;
    public static final int CREATET=11;
    public static final int DATE=12;
    public static final int DATET=13;
    public static final int DELIMITER=14;
    public static final int ELSE=15;
    public static final int ENDDATE=16;
    public static final int ENDOFSTMT=17;
    public static final int ENDTIME=18;
    public static final int EVENT=19;
    public static final int EXPR=20;
    public static final int FOREACH=21;
    public static final int GARMENT=22;
    public static final int GENERATEOUTFIT=23;
    public static final int HUMIDITY=24;
    public static final int IDENTIFIER=25;
    public static final int IF=26;
    public static final int INCLUDE=27;
    public static final int INT=28;
    public static final int ITEMT=29;
    public static final int LEFTCURLY=30;
    public static final int LEFTPARAN=31;
    public static final int MAIN=32;
    public static final int MAKERT=33;
    public static final int NUMBER=34;
    public static final int OCCUPATION=35;
    public static final int OR=36;
    public static final int PREFERENCET=37;
    public static final int PRINTT=38;
    public static final int QUOTE=39;
    public static final int READT=40;
    public static final int REJTOK=41;
    public static final int RETTOK=42;
    public static final int RIGHTCURLY=43;
    public static final int RIGHTPARAN=44;
    public static final int SHADET=45;
    public static final int STARTDATE=46;
    public static final int STARTTIME=47;
    public static final int STRING=48;
    public static final int STRINGTOK=49;
    public static final int TEMPERATURE=50;
    public static final int USER=51;
    public static final int USET=52;
    public static final int VOID=53;
    public static final int WARDROBET=54;
    public static final int WEATHER=55;
    public static final int WEIGHT=56;
    public static final int WS=57;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public GrammarBackup5Parser(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public GrammarBackup5Parser(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return GrammarBackup5Parser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g"; }


      final int TYPE =0;
      final int VALUE =1;
      public Map<String, String[]> symbolTable = new HashMap<String, String[]>();
      public ArrayList<String> mainFuncString = new ArrayList<String>();
      public ArrayList<Garment> garments = new ArrayList<Garment>();
      String date ;
      SimpleDateFormat sdf ;
      java.util.Date checkDate;
      



    // $ANTLR start "start"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:35:1: start : ( wardrobeCreation mainOptional | mainProgram );
    public final void start() throws RecognitionException {
        String wardrobeCreation1 =null;

        String mainOptional2 =null;

        String mainProgram3 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:36:3: ( wardrobeCreation mainOptional | mainProgram )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==CREATET) ) {
                alt1=1;
            }
            else if ( ((LA1_0 >= USET && LA1_0 <= VOID)) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }
            switch (alt1) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:37:3: wardrobeCreation mainOptional
                    {
                    pushFollow(FOLLOW_wardrobeCreation_in_start49);
                    wardrobeCreation1=wardrobeCreation();

                    state._fsp--;


                    pushFollow(FOLLOW_mainOptional_in_start51);
                    mainOptional2=mainOptional();

                    state._fsp--;



                    //        for(int i=0; i<garments.size(); i++)
                    //          garments.get(i).printNicely();
                            PrintWriter pw;
                                try {
                                  pw = new PrintWriter("TheProgram.java");
                                  pw.print("package com.plt.w2w; \n");
                                  pw.print("import java.util.ArrayList;\n");
                                  pw.print("import java.util.Scanner;\n");
                                  pw.print("import java.text.SimpleDateFormat;\n");
                                  pw.print("import java.text.ParseException;\n");
                                  pw.print("public class TheProgram { \n");
                                  pw.print("ArrayList<Garment> garments = new ArrayList<Garment>(); \n");
                                  pw.print("ArrayList<String> _wardrobeNames = new ArrayList<String>(); \n");
                                  pw.print("String _date;\n");
                                  pw.print("SimpleDateFormat _sdf = new SimpleDateFormat(\"MM/dd\"); \n");
                                  pw.print("String _input;\n");
                                  pw.print(wardrobeCreation1);
                                  pw.print("\n");
                                  pw.print(mainOptional2);
                                  pw.print("\npublic static void main(String args[]){\n");  
                                  pw.print("TheProgram obj = new TheProgram(); \n");    
                                  pw.print("obj.createWardrobeBackEnd(); \n");
                                  pw.print("obj.mainBackEnd(); \n");
                                  pw.print("}\n}");
                                  pw.close();
                                } catch (Exception e) {
                                  e.printStackTrace();
                                }
                                
                          //call the java class handling wardrobe creation
                    //      Wardrobe obj = new Wardrobe();
                    //      obj.create(garments,wardrobeCreation1);
                          
                        

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:73:5: mainProgram
                    {
                    pushFollow(FOLLOW_mainProgram_in_start63);
                    mainProgram3=mainProgram();

                    state._fsp--;



                          System.out.println(">>>>>>>>WOHOOOOOO<<<<<<<<<< \n" + mainProgram3);
                          PrintWriter pw;
                                try {
                                  pw = new PrintWriter("TheProgram.java");
                                  pw.print("package com.plt.w2w; \n");
                                  pw.print("import java.util.ArrayList;\n");
                                  pw.print("import java.util.Scanner;\n");
                                  pw.print("import java.text.SimpleDateFormat;\n");
                                  pw.print("import java.text.ParseException;\n");
                                  pw.print("public class TheProgram {");
                                  pw.print("ArrayList<Garment> garments = new ArrayList<Garment>(); \n");
                                  pw.print("String _date;\n");
                                  pw.print("SimpleDateFormat _sdf = new SimpleDateFormat(\"MM/dd\"); \n");
                                  pw.print("String _input;\n");
                                 
                                  
                                  pw.print(mainProgram3);
                                  pw.print("\n\tpublic static void main(){\n");
                                  pw.print("mainBackEnd();");
                                  pw.print("\n\t}\n}");
                                  pw.close();
                                } catch (Exception e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                                }
                                
                          MainFuncBackEnd obj = new MainFuncBackEnd(symbolTable,mainFuncString);
                          obj.backEnd();
                          //call class handling
                        

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "start"



    // $ANTLR start "mainOptional"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:107:1: mainOptional returns [String val] : ( mainProgram |);
    public final String mainOptional() throws RecognitionException {
        String val = null;


        String mainProgram4 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:108:3: ( mainProgram |)
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( ((LA2_0 >= USET && LA2_0 <= VOID)) ) {
                alt2=1;
            }
            else if ( (LA2_0==EOF) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;

            }
            switch (alt2) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:109:3: mainProgram
                    {
                    pushFollow(FOLLOW_mainProgram_in_mainOptional90);
                    mainProgram4=mainProgram();

                    state._fsp--;



                          val = mainProgram4;
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:114:3: 
                    {

                          val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "mainOptional"



    // $ANTLR start "wardrobeCreation"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:119:1: wardrobeCreation returns [String val] : createStatement LEFTCURLY items RIGHTCURLY ;
    public final String wardrobeCreation() throws RecognitionException {
        String val = null;


        String createStatement5 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:120:3: ( createStatement LEFTCURLY items RIGHTCURLY )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:121:3: createStatement LEFTCURLY items RIGHTCURLY
            {
            pushFollow(FOLLOW_createStatement_in_wardrobeCreation122);
            createStatement5=createStatement();

            state._fsp--;


            match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_wardrobeCreation124); 

            pushFollow(FOLLOW_items_in_wardrobeCreation126);
            items();

            state._fsp--;


            match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_wardrobeCreation128); 


                  String createCode = "";
                  for(int i=0;i<garments.size();i++){
                      Garment g = (Garment) garments.get(i);
                      createCode += "garments.add(new Garment(\"" + g.getType() + "\",\"" + g.getWeight() + "\",\"" + g.getMaker() + "\",\"" +
                                            g.getColor() + "\",\"" + g.getShade() + "\",\"" + g.getPreference() + "\"));";
                      createCode += "\n";
                  }
                  val = "\npublic void createWardrobeBackEnd() {\n" 
                  +  createCode +
                   "\n" +
                   "Wardrobe obj = new Wardrobe(); \n" + 
                   "obj.create(garments,\"" + createStatement5 + "\");\n}"
                   ;
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "wardrobeCreation"



    // $ANTLR start "createStatement"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:139:1: createStatement returns [String val] : CREATET WARDROBET wardrobeName ENDOFSTMT ;
    public final String createStatement() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.wardrobeName_return wardrobeName6 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:140:3: ( CREATET WARDROBET wardrobeName ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:141:3: CREATET WARDROBET wardrobeName ENDOFSTMT
            {
            match(input,CREATET,FOLLOW_CREATET_in_createStatement152); 

            match(input,WARDROBET,FOLLOW_WARDROBET_in_createStatement154); 

            pushFollow(FOLLOW_wardrobeName_in_createStatement156);
            wardrobeName6=wardrobeName();

            state._fsp--;


            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_createStatement158); 


                  val = (wardrobeName6!=null?input.toString(wardrobeName6.start,wardrobeName6.stop):null);
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "createStatement"



    // $ANTLR start "items"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:147:1: items : item items1 ;
    public final void items() throws RecognitionException {
        Garment item7 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:148:3: ( item items1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:149:3: item items1
            {
            pushFollow(FOLLOW_item_in_items180);
            item7=item();

            state._fsp--;


            pushFollow(FOLLOW_items1_in_items184);
            items1();

            state._fsp--;



                garments.add(item7);
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "items"



    // $ANTLR start "items1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:155:1: items1 : ( item items1 |);
    public final void items1() throws RecognitionException {
        Garment item8 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:156:3: ( item items1 |)
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==LEFTCURLY) ) {
                alt3=1;
            }
            else if ( (LA3_0==RIGHTCURLY) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;

            }
            switch (alt3) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:157:3: item items1
                    {
                    pushFollow(FOLLOW_item_in_items1204);
                    item8=item();

                    state._fsp--;


                    pushFollow(FOLLOW_items1_in_items1207);
                    items1();

                    state._fsp--;



                        garments.add(item8);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:162:3: 
                    {
                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "items1"



    // $ANTLR start "item"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:164:1: item returns [Garment garm] : LEFTCURLY type category weight color shade maker preference RIGHTCURLY ;
    public final Garment item() throws RecognitionException {
        Garment garm = null;


        String type9 =null;

        String weight10 =null;

        String maker11 =null;

        String color12 =null;

        String shade13 =null;

        String preference14 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:165:3: ( LEFTCURLY type category weight color shade maker preference RIGHTCURLY )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:166:3: LEFTCURLY type category weight color shade maker preference RIGHTCURLY
            {
            match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_item234); 

            pushFollow(FOLLOW_type_in_item238);
            type9=type();

            state._fsp--;


            pushFollow(FOLLOW_category_in_item240);
            category();

            state._fsp--;


            pushFollow(FOLLOW_weight_in_item242);
            weight10=weight();

            state._fsp--;


            pushFollow(FOLLOW_color_in_item244);
            color12=color();

            state._fsp--;


            pushFollow(FOLLOW_shade_in_item246);
            shade13=shade();

            state._fsp--;


            pushFollow(FOLLOW_maker_in_item248);
            maker11=maker();

            state._fsp--;


            pushFollow(FOLLOW_preference_in_item250);
            preference14=preference();

            state._fsp--;


            match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_item252); 


                Garment g = new Garment(type9, weight10, maker11, color12, shade13, preference14);
                garm = g;
            //      String item = "garmemts.add(new Garment(\"" + type9 + "\",\"" + weight10 + "\",\"" + maker11 + "\",\"" +
            //                     color12 + "\",\"" + shade13 + "\",\"" + preference14 + "\"));"
            //      garm = item;            
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return garm;
    }
    // $ANTLR end "item"



    // $ANTLR start "type"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:176:1: type returns [String val] : ITEMT ASSIGNMENT_OP value ENDOFSTMT ;
    public final String type() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.value_return value15 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:177:3: ( ITEMT ASSIGNMENT_OP value ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:178:3: ITEMT ASSIGNMENT_OP value ENDOFSTMT
            {
            match(input,ITEMT,FOLLOW_ITEMT_in_type275); 

            match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_type277); 

            pushFollow(FOLLOW_value_in_type279);
            value15=value();

            state._fsp--;


            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_type281); 


                val = (value15!=null?input.toString(value15.start,value15.stop):null);
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "type"



    // $ANTLR start "category"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:184:1: category returns [String val] : ( ITEMT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String category() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.value_return value16 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:185:3: ( ITEMT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==ITEMT) ) {
                alt4=1;
            }
            else if ( (LA4_0==COLORT||LA4_0==MAKERT||LA4_0==PREFERENCET||LA4_0==RIGHTCURLY||LA4_0==SHADET||LA4_0==WEIGHT) ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;

            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:186:3: ITEMT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,ITEMT,FOLLOW_ITEMT_in_category308); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_category310); 

                    pushFollow(FOLLOW_value_in_category312);
                    value16=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_category314); 


                        val = (value16!=null?input.toString(value16.start,value16.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:191:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "category"



    // $ANTLR start "weight"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:196:1: weight returns [String val] : ( WEIGHT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String weight() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.value_return value17 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:197:3: ( WEIGHT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==WEIGHT) ) {
                alt5=1;
            }
            else if ( (LA5_0==COLORT||LA5_0==MAKERT||LA5_0==PREFERENCET||LA5_0==RIGHTCURLY||LA5_0==SHADET) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;

            }
            switch (alt5) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:198:3: WEIGHT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,WEIGHT,FOLLOW_WEIGHT_in_weight349); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_weight351); 

                    pushFollow(FOLLOW_value_in_weight353);
                    value17=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_weight355); 


                        val = (value17!=null?input.toString(value17.start,value17.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:203:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "weight"



    // $ANTLR start "color"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:208:1: color returns [String val] : ( COLORT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String color() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.value_return value18 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:209:3: ( COLORT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==COLORT) ) {
                alt6=1;
            }
            else if ( (LA6_0==MAKERT||LA6_0==PREFERENCET||LA6_0==RIGHTCURLY||LA6_0==SHADET) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;

            }
            switch (alt6) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:210:3: COLORT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,COLORT,FOLLOW_COLORT_in_color390); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_color392); 

                    pushFollow(FOLLOW_value_in_color394);
                    value18=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_color396); 


                        val = (value18!=null?input.toString(value18.start,value18.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:215:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "color"



    // $ANTLR start "shade"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:220:1: shade returns [String val] : ( SHADET ASSIGNMENT_OP value ENDOFSTMT |);
    public final String shade() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.value_return value19 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:221:3: ( SHADET ASSIGNMENT_OP value ENDOFSTMT |)
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==SHADET) ) {
                alt7=1;
            }
            else if ( (LA7_0==MAKERT||LA7_0==PREFERENCET||LA7_0==RIGHTCURLY) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;

            }
            switch (alt7) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:222:3: SHADET ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,SHADET,FOLLOW_SHADET_in_shade429); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_shade431); 

                    pushFollow(FOLLOW_value_in_shade433);
                    value19=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_shade435); 


                        val = (value19!=null?input.toString(value19.start,value19.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:227:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "shade"



    // $ANTLR start "maker"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:232:1: maker returns [String val] : ( MAKERT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String maker() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.value_return value20 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:233:3: ( MAKERT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==MAKERT) ) {
                alt8=1;
            }
            else if ( (LA8_0==PREFERENCET||LA8_0==RIGHTCURLY) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;

            }
            switch (alt8) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:234:3: MAKERT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,MAKERT,FOLLOW_MAKERT_in_maker468); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_maker470); 

                    pushFollow(FOLLOW_value_in_maker472);
                    value20=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_maker474); 


                        val = (value20!=null?input.toString(value20.start,value20.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:239:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "maker"



    // $ANTLR start "preference"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:244:1: preference returns [String val] : ( PREFERENCET ASSIGNMENT_OP prefRange ENDOFSTMT |);
    public final String preference() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.prefRange_return prefRange21 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:245:3: ( PREFERENCET ASSIGNMENT_OP prefRange ENDOFSTMT |)
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==PREFERENCET) ) {
                alt9=1;
            }
            else if ( (LA9_0==RIGHTCURLY) ) {
                alt9=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;

            }
            switch (alt9) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:246:3: PREFERENCET ASSIGNMENT_OP prefRange ENDOFSTMT
                    {
                    match(input,PREFERENCET,FOLLOW_PREFERENCET_in_preference507); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_preference509); 

                    pushFollow(FOLLOW_prefRange_in_preference511);
                    prefRange21=prefRange();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_preference513); 


                        val = (prefRange21!=null?input.toString(prefRange21.start,prefRange21.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:251:3: 
                    {

                        val = "2";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "preference"



    // $ANTLR start "mainProgram"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:256:1: mainProgram returns [String val] : header mainDecl LEFTCURLY lines createEventCommand runCommand RIGHTCURLY ;
    public final String mainProgram() throws RecognitionException {
        String val = null;


        String mainDecl22 =null;

        String header23 =null;

        String lines24 =null;

        String createEventCommand25 =null;

        String runCommand26 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:257:3: ( header mainDecl LEFTCURLY lines createEventCommand runCommand RIGHTCURLY )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:258:3: header mainDecl LEFTCURLY lines createEventCommand runCommand RIGHTCURLY
            {
            pushFollow(FOLLOW_header_in_mainProgram546);
            header23=header();

            state._fsp--;


            pushFollow(FOLLOW_mainDecl_in_mainProgram548);
            mainDecl22=mainDecl();

            state._fsp--;


            match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_mainProgram550); 

            pushFollow(FOLLOW_lines_in_mainProgram552);
            lines24=lines();

            state._fsp--;


            pushFollow(FOLLOW_createEventCommand_in_mainProgram554);
            createEventCommand25=createEventCommand();

            state._fsp--;


            pushFollow(FOLLOW_runCommand_in_mainProgram556);
            runCommand26=runCommand();

            state._fsp--;


            match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_mainProgram558); 


                val = mainDecl22 + "{\n" + header23 +  "Scanner s = new Scanner(System.in);\n"
                + lines24 + createEventCommand25 + runCommand26 + "}";
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "mainProgram"



    // $ANTLR start "header"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:265:1: header returns [String val] : ( USET WARDROBET wardrobeNames ENDOFSTMT |);
    public final String header() throws RecognitionException {
        String val = null;


        String wardrobeNames27 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:266:3: ( USET WARDROBET wardrobeNames ENDOFSTMT |)
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==USET) ) {
                alt10=1;
            }
            else if ( (LA10_0==VOID) ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;

            }
            switch (alt10) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:267:3: USET WARDROBET wardrobeNames ENDOFSTMT
                    {
                    match(input,USET,FOLLOW_USET_in_header581); 

                    match(input,WARDROBET,FOLLOW_WARDROBET_in_header583); 

                    pushFollow(FOLLOW_wardrobeNames_in_header585);
                    wardrobeNames27=wardrobeNames();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_header587); 


                    //    val = "//Wardrobe to be used: "+ wardrobeNames27 + "\n";
                          val = "";
                        String[] wardrobeNames = wardrobeNames27.split(",");
                        for(int i = 0; i< wardrobeNames.length;i++){
                            val+= "_wardrobeNames.add(\"" + wardrobeNames[i] + "\"); \n";
                        }
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:277:3: 
                    {

                        val = "_wardrobeNames.add(\"_default\"); \n";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "header"



    // $ANTLR start "wardrobeNames"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:282:1: wardrobeNames returns [String val] : wardrobeName wardrobeNames1 ;
    public final String wardrobeNames() throws RecognitionException {
        String val = null;


        GrammarBackup5Parser.wardrobeName_return wardrobeName28 =null;

        String wardrobeNames129 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:283:3: ( wardrobeName wardrobeNames1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:284:3: wardrobeName wardrobeNames1
            {
            pushFollow(FOLLOW_wardrobeName_in_wardrobeNames621);
            wardrobeName28=wardrobeName();

            state._fsp--;


            pushFollow(FOLLOW_wardrobeNames1_in_wardrobeNames623);
            wardrobeNames129=wardrobeNames1();

            state._fsp--;



            //       System.out.println("text2: "+(wardrobeName28!=null?input.toString(wardrobeName28.start,wardrobeName28.stop):null));
                   val = (wardrobeName28!=null?input.toString(wardrobeName28.start,wardrobeName28.stop):null) + "," + wardrobeNames129 ;
                   val = val.substring(0, val.length()-1);
                

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "wardrobeNames"



    // $ANTLR start "wardrobeNames1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:292:1: wardrobeNames1 returns [String val] : ( '+' wardrobeName w1= wardrobeNames1 |);
    public final String wardrobeNames1() throws RecognitionException {
        String val = null;


        String w1 =null;

        GrammarBackup5Parser.wardrobeName_return wardrobeName30 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:293:3: ( '+' wardrobeName w1= wardrobeNames1 |)
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==59) ) {
                alt11=1;
            }
            else if ( (LA11_0==ENDOFSTMT) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;

            }
            switch (alt11) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:294:3: '+' wardrobeName w1= wardrobeNames1
                    {
                    match(input,59,FOLLOW_59_in_wardrobeNames1648); 

                    pushFollow(FOLLOW_wardrobeName_in_wardrobeNames1650);
                    wardrobeName30=wardrobeName();

                    state._fsp--;


                    pushFollow(FOLLOW_wardrobeNames1_in_wardrobeNames1654);
                    w1=wardrobeNames1();

                    state._fsp--;



                    //      System.out.println("text: "+(wardrobeName30!=null?input.toString(wardrobeName30.start,wardrobeName30.stop):null));
                           val = (wardrobeName30!=null?input.toString(wardrobeName30.start,wardrobeName30.stop):null) + "," + w1;
                       

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:300:3: 
                    {
                     val = "";

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "wardrobeNames1"



    // $ANTLR start "mainDecl"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:303:1: mainDecl returns [String val] : VOID MAIN LEFTPARAN RIGHTPARAN ;
    public final String mainDecl() throws RecognitionException {
        String val = null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:304:3: ( VOID MAIN LEFTPARAN RIGHTPARAN )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:305:3: VOID MAIN LEFTPARAN RIGHTPARAN
            {
            match(input,VOID,FOLLOW_VOID_in_mainDecl686); 

            match(input,MAIN,FOLLOW_MAIN_in_mainDecl688); 

            match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_mainDecl690); 

            match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_mainDecl692); 


                  val = "public void mainBackEnd()\n";
               

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "mainDecl"



    // $ANTLR start "lines"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:312:1: lines returns [String val] : ( line l1= lines |);
    public final String lines() throws RecognitionException {
        String val = null;


        String l1 =null;

        String line31 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:313:3: ( line l1= lines |)
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==DATET||(LA12_0 >= IDENTIFIER && LA12_0 <= IF)||LA12_0==INT||LA12_0==PRINTT||(LA12_0 >= READT && LA12_0 <= REJTOK)||LA12_0==STRING||LA12_0==64) ) {
                alt12=1;
            }
            else if ( (LA12_0==CREATEEVENT||LA12_0==RIGHTCURLY) ) {
                alt12=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;

            }
            switch (alt12) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:314:3: line l1= lines
                    {
                    pushFollow(FOLLOW_line_in_lines719);
                    line31=line();

                    state._fsp--;


                    pushFollow(FOLLOW_lines_in_lines723);
                    l1=lines();

                    state._fsp--;



                        val = line31 + "\n" + l1;
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:319:3: 
                    {
                     val = "" ;

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "lines"



    // $ANTLR start "line"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:322:1: line returns [String val] : ( assignmentStatement | 'for each ' GARMENT ' in the ' WARDROBET LEFTCURLY lines RIGHTCURLY | IF expr LEFTCURLY lines RIGHTCURLY optional_tail | REJTOK ENDOFSTMT | READT LEFTPARAN RIGHTPARAN ENDOFSTMT | PRINTT LEFTPARAN printargs RIGHTPARAN ENDOFSTMT );
    public final String line() throws RecognitionException {
        String val = null;


        String assignmentStatement32 =null;

        String lines33 =null;

        String expr34 =null;

        String lines35 =null;

        String optional_tail36 =null;

        String printargs37 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:323:4: ( assignmentStatement | 'for each ' GARMENT ' in the ' WARDROBET LEFTCURLY lines RIGHTCURLY | IF expr LEFTCURLY lines RIGHTCURLY optional_tail | REJTOK ENDOFSTMT | READT LEFTPARAN RIGHTPARAN ENDOFSTMT | PRINTT LEFTPARAN printargs RIGHTPARAN ENDOFSTMT )
            int alt13=6;
            switch ( input.LA(1) ) {
            case DATET:
            case IDENTIFIER:
            case INT:
            case STRING:
                {
                alt13=1;
                }
                break;
            case 64:
                {
                alt13=2;
                }
                break;
            case IF:
                {
                alt13=3;
                }
                break;
            case REJTOK:
                {
                alt13=4;
                }
                break;
            case READT:
                {
                alt13=5;
                }
                break;
            case PRINTT:
                {
                alt13=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;

            }

            switch (alt13) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:324:4: assignmentStatement
                    {
                    pushFollow(FOLLOW_assignmentStatement_in_line755);
                    assignmentStatement32=assignmentStatement();

                    state._fsp--;



                        val = assignmentStatement32;
                       

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:328:7: 'for each ' GARMENT ' in the ' WARDROBET LEFTCURLY lines RIGHTCURLY
                    {
                    match(input,64,FOLLOW_64_in_line768); 

                    match(input,GARMENT,FOLLOW_GARMENT_in_line770); 

                    match(input,58,FOLLOW_58_in_line772); 

                    match(input,WARDROBET,FOLLOW_WARDROBET_in_line774); 

                    match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_line776); 

                    pushFollow(FOLLOW_lines_in_line778);
                    lines33=lines();

                    state._fsp--;


                    match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_line780); 


                          val = "for ( Garment g : garmentArrayList ) {\n" + lines33 + "}";
                        

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:333:7: IF expr LEFTCURLY lines RIGHTCURLY optional_tail
                    {
                    match(input,IF,FOLLOW_IF_in_line795); 

                    pushFollow(FOLLOW_expr_in_line797);
                    expr34=expr();

                    state._fsp--;


                    match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_line799); 

                    pushFollow(FOLLOW_lines_in_line801);
                    lines35=lines();

                    state._fsp--;


                    match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_line803); 

                    pushFollow(FOLLOW_optional_tail_in_line805);
                    optional_tail36=optional_tail();

                    state._fsp--;



                          val = "if" + expr34 + "{" + lines35 + "}" + optional_tail36;
                        

                    }
                    break;
                case 4 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:337:7: REJTOK ENDOFSTMT
                    {
                    match(input,REJTOK,FOLLOW_REJTOK_in_line819); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_line821); 


                          val = "";
                        

                    }
                    break;
                case 5 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:341:7: READT LEFTPARAN RIGHTPARAN ENDOFSTMT
                    {
                    match(input,READT,FOLLOW_READT_in_line835); 

                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_line837); 

                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_line839); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_line841); 


                          val = "s.next();";
                        

                    }
                    break;
                case 6 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:345:7: PRINTT LEFTPARAN printargs RIGHTPARAN ENDOFSTMT
                    {
                    match(input,PRINTT,FOLLOW_PRINTT_in_line855); 

                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_line857); 

                    pushFollow(FOLLOW_printargs_in_line859);
                    printargs37=printargs();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_line861); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_line863); 


                            val = "System.out.println(" + printargs37 + ");" ;
                        

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "line"



    // $ANTLR start "printargs"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:352:1: printargs returns [String val] : printarg printargs1 ;
    public final String printargs() throws RecognitionException {
        String val = null;


        String printarg38 =null;

        GrammarBackup5Parser.printargs1_return printargs139 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:353:5: ( printarg printargs1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:353:7: printarg printargs1
            {
            pushFollow(FOLLOW_printarg_in_printargs892);
            printarg38=printarg();

            state._fsp--;


            pushFollow(FOLLOW_printargs1_in_printargs894);
            printargs139=printargs1();

            state._fsp--;



                      val = printarg38 + (printargs139!=null?input.toString(printargs139.start,printargs139.stop):null);  
                 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "printargs"


    public static class printargs1_return extends ParserRuleReturnScope {
        public String val;
    };


    // $ANTLR start "printargs1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:359:1: printargs1 returns [String val] : ( '+' STRINGTOK p1= printargs1 | '+' variableName p1= printargs1 |);
    public final GrammarBackup5Parser.printargs1_return printargs1() throws RecognitionException {
        GrammarBackup5Parser.printargs1_return retval = new GrammarBackup5Parser.printargs1_return();
        retval.start = input.LT(1);


        Token STRINGTOK40=null;
        GrammarBackup5Parser.printargs1_return p1 =null;

        GrammarBackup5Parser.variableName_return variableName41 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:360:9: ( '+' STRINGTOK p1= printargs1 | '+' variableName p1= printargs1 |)
            int alt14=3;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==59) ) {
                int LA14_1 = input.LA(2);

                if ( (LA14_1==STRINGTOK) ) {
                    alt14=1;
                }
                else if ( (LA14_1==IDENTIFIER) ) {
                    alt14=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 14, 1, input);

                    throw nvae;

                }
            }
            else if ( (LA14_0==RIGHTPARAN) ) {
                alt14=3;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;

            }
            switch (alt14) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:360:11: '+' STRINGTOK p1= printargs1
                    {
                    match(input,59,FOLLOW_59_in_printargs1927); 

                    STRINGTOK40=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_printargs1929); 

                    pushFollow(FOLLOW_printargs1_in_printargs1933);
                    p1=printargs1();

                    state._fsp--;



                              retval.val = (STRINGTOK40!=null?STRINGTOK40.getText():null) + (p1!=null?p1.val:null);  
                            

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:364:11: '+' variableName p1= printargs1
                    {
                    match(input,59,FOLLOW_59_in_printargs1955); 

                    pushFollow(FOLLOW_variableName_in_printargs1957);
                    variableName41=variableName();

                    state._fsp--;


                    pushFollow(FOLLOW_printargs1_in_printargs1961);
                    p1=printargs1();

                    state._fsp--;



                              if(symbolTable.containsKey((variableName41!=null?input.toString(variableName41.start,variableName41.stop):null)))
                                retval.val = " + " + (variableName41!=null?input.toString(variableName41.start,variableName41.stop):null) + (p1!=null?p1.val:null);
                              else
                                System.out.println("Error! Variable not defined!");
                            

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:372:9: 
                    {

                              retval.val = "";
                            

                    }
                    break;

            }
            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "printargs1"



    // $ANTLR start "printarg"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:377:1: printarg returns [String val] : ( variableName | STRINGTOK );
    public final String printarg() throws RecognitionException {
        String val = null;


        Token STRINGTOK43=null;
        GrammarBackup5Parser.variableName_return variableName42 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:378:7: ( variableName | STRINGTOK )
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==IDENTIFIER) ) {
                alt15=1;
            }
            else if ( (LA15_0==STRINGTOK) ) {
                alt15=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);

                throw nvae;

            }
            switch (alt15) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:379:7: variableName
                    {
                    pushFollow(FOLLOW_variableName_in_printarg1026);
                    variableName42=variableName();

                    state._fsp--;



                              val = (variableName42!=null?input.toString(variableName42.start,variableName42.stop):null) ;  
                            

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:383:9: STRINGTOK
                    {
                    STRINGTOK43=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_printarg1044); 


                              val = (STRINGTOK43!=null?STRINGTOK43.getText():null);  
                          

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "printarg"



    // $ANTLR start "optional_tail"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:389:1: optional_tail returns [String val] : ( ELSE LEFTCURLY lines RIGHTCURLY |);
    public final String optional_tail() throws RecognitionException {
        String val = null;


        String lines44 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:390:3: ( ELSE LEFTCURLY lines RIGHTCURLY |)
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==ELSE) ) {
                alt16=1;
            }
            else if ( (LA16_0==CREATEEVENT||LA16_0==DATET||(LA16_0 >= IDENTIFIER && LA16_0 <= IF)||LA16_0==INT||LA16_0==PRINTT||(LA16_0 >= READT && LA16_0 <= REJTOK)||LA16_0==RIGHTCURLY||LA16_0==STRING||LA16_0==64) ) {
                alt16=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;

            }
            switch (alt16) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:390:5: ELSE LEFTCURLY lines RIGHTCURLY
                    {
                    match(input,ELSE,FOLLOW_ELSE_in_optional_tail1073); 

                    match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_optional_tail1075); 

                    pushFollow(FOLLOW_lines_in_optional_tail1077);
                    lines44=lines();

                    state._fsp--;


                    match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_optional_tail1079); 


                        val = "else {\n " + lines44 + "}";
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:395:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "optional_tail"



    // $ANTLR start "expr"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:400:1: expr returns [String val] : conditions ;
    public final String expr() throws RecognitionException {
        String val = null;


        String conditions45 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:401:3: ( conditions )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:402:3: conditions
            {
            pushFollow(FOLLOW_conditions_in_expr1110);
            conditions45=conditions();

            state._fsp--;



                val = conditions45;
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "expr"



    // $ANTLR start "conditions"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:408:1: conditions returns [String val] : ( LEFTPARAN c1= conditions beta | LEFTPARAN condition RIGHTPARAN );
    public final String conditions() throws RecognitionException {
        String val = null;


        String c1 =null;

        String beta46 =null;

        String condition47 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:409:3: ( LEFTPARAN c1= conditions beta | LEFTPARAN condition RIGHTPARAN )
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==LEFTPARAN) ) {
                int LA17_1 = input.LA(2);

                if ( (LA17_1==LEFTPARAN) ) {
                    alt17=1;
                }
                else if ( (LA17_1==DATE||LA17_1==IDENTIFIER||LA17_1==NUMBER||LA17_1==STRINGTOK) ) {
                    alt17=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 17, 1, input);

                    throw nvae;

                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);

                throw nvae;

            }
            switch (alt17) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:410:3: LEFTPARAN c1= conditions beta
                    {
                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_conditions1133); 

                    pushFollow(FOLLOW_conditions_in_conditions1137);
                    c1=conditions();

                    state._fsp--;


                    pushFollow(FOLLOW_beta_in_conditions1139);
                    beta46=beta();

                    state._fsp--;



                        val = "(" + c1 + beta46;
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:414:5: LEFTPARAN condition RIGHTPARAN
                    {
                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_conditions1149); 

                    pushFollow(FOLLOW_condition_in_conditions1151);
                    condition47=condition();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_conditions1153); 


                        val = "(" + condition47 + ")";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "conditions"



    // $ANTLR start "beta"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:420:1: beta returns [String val] : ( AND condition RIGHTPARAN | OR condition RIGHTPARAN );
    public final String beta() throws RecognitionException {
        String val = null;


        String condition48 =null;

        String condition49 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:421:3: ( AND condition RIGHTPARAN | OR condition RIGHTPARAN )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==AND) ) {
                alt18=1;
            }
            else if ( (LA18_0==OR) ) {
                alt18=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;

            }
            switch (alt18) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:422:3: AND condition RIGHTPARAN
                    {
                    match(input,AND,FOLLOW_AND_in_beta1178); 

                    pushFollow(FOLLOW_condition_in_beta1180);
                    condition48=condition();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_beta1182); 


                        val = " && " + condition48 + ")";
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:426:5: OR condition RIGHTPARAN
                    {
                    match(input,OR,FOLLOW_OR_in_beta1192); 

                    pushFollow(FOLLOW_condition_in_beta1194);
                    condition49=condition();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_beta1196); 


                        val = " || " + condition49 + ")";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "beta"



    // $ANTLR start "condition"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:432:1: condition returns [String val] : (n1= NUMBER CONDITIONAL_OP n2= NUMBER |v1= variableName CONDITIONAL_OP v2= variableName | NUMBER CONDITIONAL_OP variableName | variableName CONDITIONAL_OP NUMBER | DATE CONDITIONAL_OP variableName | variableName CONDITIONAL_OP DATE | STRINGTOK CONDITIONAL_OP variableName | variableName CONDITIONAL_OP STRINGTOK );
    public final String condition() throws RecognitionException {
        String val = null;


        Token n1=null;
        Token n2=null;
        Token CONDITIONAL_OP50=null;
        Token CONDITIONAL_OP51=null;
        Token NUMBER53=null;
        Token CONDITIONAL_OP54=null;
        Token CONDITIONAL_OP56=null;
        Token NUMBER57=null;
        Token CONDITIONAL_OP59=null;
        Token DATE60=null;
        Token CONDITIONAL_OP62=null;
        Token DATE63=null;
        Token CONDITIONAL_OP65=null;
        Token STRINGTOK66=null;
        Token CONDITIONAL_OP68=null;
        Token STRINGTOK69=null;
        GrammarBackup5Parser.variableName_return v1 =null;

        GrammarBackup5Parser.variableName_return v2 =null;

        GrammarBackup5Parser.variableName_return variableName52 =null;

        GrammarBackup5Parser.variableName_return variableName55 =null;

        GrammarBackup5Parser.variableName_return variableName58 =null;

        GrammarBackup5Parser.variableName_return variableName61 =null;

        GrammarBackup5Parser.variableName_return variableName64 =null;

        GrammarBackup5Parser.variableName_return variableName67 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:433:4: (n1= NUMBER CONDITIONAL_OP n2= NUMBER |v1= variableName CONDITIONAL_OP v2= variableName | NUMBER CONDITIONAL_OP variableName | variableName CONDITIONAL_OP NUMBER | DATE CONDITIONAL_OP variableName | variableName CONDITIONAL_OP DATE | STRINGTOK CONDITIONAL_OP variableName | variableName CONDITIONAL_OP STRINGTOK )
            int alt19=8;
            switch ( input.LA(1) ) {
            case NUMBER:
                {
                int LA19_1 = input.LA(2);

                if ( (LA19_1==CONDITIONAL_OP) ) {
                    int LA19_5 = input.LA(3);

                    if ( (LA19_5==NUMBER) ) {
                        alt19=1;
                    }
                    else if ( (LA19_5==IDENTIFIER) ) {
                        alt19=3;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 19, 5, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 19, 1, input);

                    throw nvae;

                }
                }
                break;
            case IDENTIFIER:
                {
                int LA19_2 = input.LA(2);

                if ( (LA19_2==CONDITIONAL_OP) ) {
                    switch ( input.LA(3) ) {
                    case NUMBER:
                        {
                        alt19=4;
                        }
                        break;
                    case DATE:
                        {
                        alt19=6;
                        }
                        break;
                    case STRINGTOK:
                        {
                        alt19=8;
                        }
                        break;
                    case IDENTIFIER:
                        {
                        alt19=2;
                        }
                        break;
                    default:
                        NoViableAltException nvae =
                            new NoViableAltException("", 19, 6, input);

                        throw nvae;

                    }

                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 19, 2, input);

                    throw nvae;

                }
                }
                break;
            case DATE:
                {
                alt19=5;
                }
                break;
            case STRINGTOK:
                {
                alt19=7;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 19, 0, input);

                throw nvae;

            }

            switch (alt19) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:434:4: n1= NUMBER CONDITIONAL_OP n2= NUMBER
                    {
                    n1=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1225); 

                    CONDITIONAL_OP50=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1227); 

                    n2=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1231); 


                          val =(n1!=null?n1.getText():null) + (CONDITIONAL_OP50!=null?CONDITIONAL_OP50.getText():null) + (n2!=null?n2.getText():null);
                       

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:439:6: v1= variableName CONDITIONAL_OP v2= variableName
                    {
                    pushFollow(FOLLOW_variableName_in_condition1250);
                    v1=variableName();

                    state._fsp--;


                    CONDITIONAL_OP51=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1252); 

                    pushFollow(FOLLOW_variableName_in_condition1256);
                    v2=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((v1!=null?input.toString(v1.start,v1.stop):null)) && symbolTable.containsKey((v2!=null?input.toString(v2.start,v2.stop):null))){
                              if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[TYPE].equals(symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[TYPE])){
                                if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[VALUE] != null && symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[VALUE] != null){
                                  if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[TYPE].equals("int"))
                                    val = (v1!=null?input.toString(v1.start,v1.stop):null) + (CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null) + (v2!=null?input.toString(v2.start,v2.stop):null);
                                  else if (symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[TYPE].equals("date")){
                                    if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("=="))
                                      val = "(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  ".compare(\"" + (v2!=null?input.toString(v2.start,v2.stop):null) + "\")==0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("!="))
                                      val = "(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  ".compare(\"" + (v2!=null?input.toString(v2.start,v2.stop):null) + "\")!=0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("<="))
                                      val = "(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  ".compare(\"" + (v2!=null?input.toString(v2.start,v2.stop):null) + "\")>=0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals(">="))
                                      val = "(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  ".compare(\"" + (v2!=null?input.toString(v2.start,v2.stop):null) + "\")<=0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("<"))
                                      val = "(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  ".compare(\"" + (v2!=null?input.toString(v2.start,v2.stop):null) + "\")>0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals(">"))
                                      val = "(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  ".compare(\"" + (v2!=null?input.toString(v2.start,v2.stop):null) + "\")<0";
                                  }
                                  else if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[TYPE].equals("string")){
                                    if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("=="))
                                      val = "\"(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  "\".equalsIgnoreCase(" + (v2!=null?input.toString(v2.start,v2.stop):null) + ")==0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("!="))
                                      val = "\"(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  "\".equalsIgnoreCase(" + (v2!=null?input.toString(v2.start,v2.stop):null) + ")!=0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("<="))
                                      val = "\"(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  "\".compareToIgnoreCase(" + (v2!=null?input.toString(v2.start,v2.stop):null) + ")<=0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals(">="))
                                      val = "\"(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  "\".compareToIgnoreCase(" + (v2!=null?input.toString(v2.start,v2.stop):null) + ")>=0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals("<"))
                                      val = "\"(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  "\".compareToIgnoreCase(" + (v2!=null?input.toString(v2.start,v2.stop):null) + ")<0";
                                    else if((CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null).equals(">"))
                                      val = "\"(" + (v1!=null?input.toString(v1.start,v1.stop):null) +  "\".compareToIgnoreCase(" + (v2!=null?input.toString(v2.start,v2.stop):null) + ")>0";
                                  }
                                }
                                else {
                                  System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:487:5: NUMBER CONDITIONAL_OP variableName
                    {
                    NUMBER53=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1268); 

                    CONDITIONAL_OP54=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1270); 

                    pushFollow(FOLLOW_variableName_in_condition1272);
                    variableName52=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((variableName52!=null?input.toString(variableName52.start,variableName52.stop):null))){
                              if(symbolTable.get((variableName52!=null?input.toString(variableName52.start,variableName52.stop):null))[TYPE].equals("int")){
                                if(symbolTable.get((variableName52!=null?input.toString(variableName52.start,variableName52.stop):null))[VALUE] != null){
                                  val = (NUMBER53!=null?NUMBER53.getText():null) + (CONDITIONAL_OP54!=null?CONDITIONAL_OP54.getText():null) + (variableName52!=null?input.toString(variableName52.start,variableName52.stop):null);
                                }
                                else{
                                   System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 4 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:506:5: variableName CONDITIONAL_OP NUMBER
                    {
                    pushFollow(FOLLOW_variableName_in_condition1284);
                    variableName55=variableName();

                    state._fsp--;


                    CONDITIONAL_OP56=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1286); 

                    NUMBER57=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1288); 


                        if(symbolTable.containsKey((variableName55!=null?input.toString(variableName55.start,variableName55.stop):null))){
                              if(symbolTable.get((variableName55!=null?input.toString(variableName55.start,variableName55.stop):null))[TYPE].equals("int")){
                                if(symbolTable.get((variableName55!=null?input.toString(variableName55.start,variableName55.stop):null))[VALUE] != null){
                                  val = (variableName55!=null?input.toString(variableName55.start,variableName55.stop):null) + (CONDITIONAL_OP56!=null?CONDITIONAL_OP56.getText():null) + (NUMBER57!=null?NUMBER57.getText():null);
                                }
                                else{
                                   System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                      

                    }
                    break;
                case 5 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:525:5: DATE CONDITIONAL_OP variableName
                    {
                    DATE60=(Token)match(input,DATE,FOLLOW_DATE_in_condition1298); 

                    CONDITIONAL_OP59=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1300); 

                    pushFollow(FOLLOW_variableName_in_condition1302);
                    variableName58=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((variableName58!=null?input.toString(variableName58.start,variableName58.stop):null))){
                              if(symbolTable.get((variableName58!=null?input.toString(variableName58.start,variableName58.stop):null))[TYPE].equals("date")){
                                if(symbolTable.get((variableName58!=null?input.toString(variableName58.start,variableName58.stop):null))[VALUE] != null){
                                  if((CONDITIONAL_OP59!=null?CONDITIONAL_OP59.getText():null).equals("=="))
                                  val = "(" + (variableName58!=null?input.toString(variableName58.start,variableName58.stop):null) +  ".compare(\"" + (DATE60!=null?DATE60.getText():null) + "\")==0";
                                else if((CONDITIONAL_OP59!=null?CONDITIONAL_OP59.getText():null).equals("!="))
                                  val = "(" + (variableName58!=null?input.toString(variableName58.start,variableName58.stop):null) +  ".compare(\"" + (DATE60!=null?DATE60.getText():null) + "\")!=0";
                                else if((CONDITIONAL_OP59!=null?CONDITIONAL_OP59.getText():null).equals("<="))
                                  val = "(" + (variableName58!=null?input.toString(variableName58.start,variableName58.stop):null) +  ".compare(\"" + (DATE60!=null?DATE60.getText():null) + "\")>=0";
                                else if((CONDITIONAL_OP59!=null?CONDITIONAL_OP59.getText():null).equals(">="))
                                  val = "(" + (variableName58!=null?input.toString(variableName58.start,variableName58.stop):null) +  ".compare(\"" + (DATE60!=null?DATE60.getText():null) + "\")<=0";
                                else if((CONDITIONAL_OP59!=null?CONDITIONAL_OP59.getText():null).equals("<"))
                                  val = "(" + (variableName58!=null?input.toString(variableName58.start,variableName58.stop):null) +  ".compare(\"" + (DATE60!=null?DATE60.getText():null) + "\")>0";
                                else if((CONDITIONAL_OP59!=null?CONDITIONAL_OP59.getText():null).equals(">"))
                                  val = "(" + (variableName58!=null?input.toString(variableName58.start,variableName58.stop):null) +  ".compare(\"" + (DATE60!=null?DATE60.getText():null) + "\")<0";
                                }
                                else{
                                  System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 6 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:555:5: variableName CONDITIONAL_OP DATE
                    {
                    pushFollow(FOLLOW_variableName_in_condition1314);
                    variableName61=variableName();

                    state._fsp--;


                    CONDITIONAL_OP62=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1316); 

                    DATE63=(Token)match(input,DATE,FOLLOW_DATE_in_condition1318); 


                          if(symbolTable.containsKey((variableName61!=null?input.toString(variableName61.start,variableName61.stop):null))){
                              if(symbolTable.get((variableName61!=null?input.toString(variableName61.start,variableName61.stop):null))[TYPE].equals("date")){
                                if(symbolTable.get((variableName61!=null?input.toString(variableName61.start,variableName61.stop):null))[VALUE] != null){
                                  if((CONDITIONAL_OP62!=null?CONDITIONAL_OP62.getText():null).equals("=="))
                                  val = "(" + (variableName61!=null?input.toString(variableName61.start,variableName61.stop):null) +  ".compare(\"" + (DATE63!=null?DATE63.getText():null) + "\")==0";
                                else if((CONDITIONAL_OP62!=null?CONDITIONAL_OP62.getText():null).equals("!="))
                                  val = "(" + (variableName61!=null?input.toString(variableName61.start,variableName61.stop):null) +  ".compare(\"" + (DATE63!=null?DATE63.getText():null) + "\")!=0";
                                else if((CONDITIONAL_OP62!=null?CONDITIONAL_OP62.getText():null).equals("<="))
                                  val = "(" + (variableName61!=null?input.toString(variableName61.start,variableName61.stop):null) +  ".compare(\"" + (DATE63!=null?DATE63.getText():null) + "\")<=0";
                                else if((CONDITIONAL_OP62!=null?CONDITIONAL_OP62.getText():null).equals(">="))
                                  val = "(" + (variableName61!=null?input.toString(variableName61.start,variableName61.stop):null) +  ".compare(\"" + (DATE63!=null?DATE63.getText():null) + "\")>=0";
                                else if((CONDITIONAL_OP62!=null?CONDITIONAL_OP62.getText():null).equals("<"))
                                  val = "(" + (variableName61!=null?input.toString(variableName61.start,variableName61.stop):null) +  ".compare(\"" + (DATE63!=null?DATE63.getText():null) + "\")<0";
                                else if((CONDITIONAL_OP62!=null?CONDITIONAL_OP62.getText():null).equals(">"))
                                  val = "(" + (variableName61!=null?input.toString(variableName61.start,variableName61.stop):null) +  ".compare(\"" + (DATE63!=null?DATE63.getText():null) + "\")>0";
                                }
                                else{
                                  System.out.println("Error! No value assigned to variable!");
                                }  
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 7 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:585:6: STRINGTOK CONDITIONAL_OP variableName
                    {
                    STRINGTOK66=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_condition1331); 

                    CONDITIONAL_OP65=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1333); 

                    pushFollow(FOLLOW_variableName_in_condition1335);
                    variableName64=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((variableName64!=null?input.toString(variableName64.start,variableName64.stop):null))){
                              if(symbolTable.get((variableName64!=null?input.toString(variableName64.start,variableName64.stop):null))[TYPE].equals("string")){
                                if(symbolTable.get((variableName64!=null?input.toString(variableName64.start,variableName64.stop):null))[VALUE] != null){
                                if((CONDITIONAL_OP65!=null?CONDITIONAL_OP65.getText():null).equals("=="))
                                  val = (STRINGTOK66!=null?STRINGTOK66.getText():null) +  "\".equalsIgnoreCase(" + (variableName64!=null?input.toString(variableName64.start,variableName64.stop):null) + ")==0";
                                else if((CONDITIONAL_OP65!=null?CONDITIONAL_OP65.getText():null).equals("!="))
                                  val = (STRINGTOK66!=null?STRINGTOK66.getText():null) +  "\".equalsIgnoreCase(" + (variableName64!=null?input.toString(variableName64.start,variableName64.stop):null) + ")!=0";
                                else if((CONDITIONAL_OP65!=null?CONDITIONAL_OP65.getText():null).equals("<="))
                                  val = (STRINGTOK66!=null?STRINGTOK66.getText():null) +  "\".compareToIgnoreCase(" + (variableName64!=null?input.toString(variableName64.start,variableName64.stop):null) + ")<=0";
                                else if((CONDITIONAL_OP65!=null?CONDITIONAL_OP65.getText():null).equals(">="))
                                  val = (STRINGTOK66!=null?STRINGTOK66.getText():null) +  "\".compareToIgnoreCase(" + (variableName64!=null?input.toString(variableName64.start,variableName64.stop):null) + ")>=0";
                                else if((CONDITIONAL_OP65!=null?CONDITIONAL_OP65.getText():null).equals("<"))
                                  val = (STRINGTOK66!=null?STRINGTOK66.getText():null) +  "\".compareToIgnoreCase(" + (variableName64!=null?input.toString(variableName64.start,variableName64.stop):null) + ")<0";
                                else if((CONDITIONAL_OP65!=null?CONDITIONAL_OP65.getText():null).equals(">"))
                                  val = (STRINGTOK66!=null?STRINGTOK66.getText():null) +  "\".compareToIgnoreCase(" + (variableName64!=null?input.toString(variableName64.start,variableName64.stop):null) + ")>0";
                                }
                                else{
                                  System.out.println("Error!  No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 8 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:615:5: variableName CONDITIONAL_OP STRINGTOK
                    {
                    pushFollow(FOLLOW_variableName_in_condition1348);
                    variableName67=variableName();

                    state._fsp--;


                    CONDITIONAL_OP68=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1350); 

                    STRINGTOK69=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_condition1352); 


                          if(symbolTable.containsKey((variableName67!=null?input.toString(variableName67.start,variableName67.stop):null))){
                              if(symbolTable.get((variableName67!=null?input.toString(variableName67.start,variableName67.stop):null))[TYPE].equals("string")){
                                if(symbolTable.get((variableName67!=null?input.toString(variableName67.start,variableName67.stop):null))[VALUE] != null){
                                if((CONDITIONAL_OP68!=null?CONDITIONAL_OP68.getText():null).equals("=="))
                                  val = (variableName67!=null?input.toString(variableName67.start,variableName67.stop):null) +  ".equalsIgnoreCase(" + (STRINGTOK69!=null?STRINGTOK69.getText():null) + ")==0";
                                else if((CONDITIONAL_OP68!=null?CONDITIONAL_OP68.getText():null).equals("!="))
                                  val = (variableName67!=null?input.toString(variableName67.start,variableName67.stop):null) +  ".equalsIgnoreCase(" + (STRINGTOK69!=null?STRINGTOK69.getText():null) + ")!=0";
                                else if((CONDITIONAL_OP68!=null?CONDITIONAL_OP68.getText():null).equals("<="))
                                  val = (variableName67!=null?input.toString(variableName67.start,variableName67.stop):null) +  ".compareToIgnoreCase(" + (STRINGTOK69!=null?STRINGTOK69.getText():null) + ")<=0";
                                else if((CONDITIONAL_OP68!=null?CONDITIONAL_OP68.getText():null).equals(">="))
                                  val = (variableName67!=null?input.toString(variableName67.start,variableName67.stop):null) +  ".compareToIgnoreCase(" + (STRINGTOK69!=null?STRINGTOK69.getText():null) + ")>=0";
                                else if((CONDITIONAL_OP68!=null?CONDITIONAL_OP68.getText():null).equals("<"))
                                  val = (variableName67!=null?input.toString(variableName67.start,variableName67.stop):null) +  ".compareToIgnoreCase(" + (STRINGTOK69!=null?STRINGTOK69.getText():null) + ")<0";
                                else if((CONDITIONAL_OP68!=null?CONDITIONAL_OP68.getText():null).equals(">"))
                                  val = (variableName67!=null?input.toString(variableName67.start,variableName67.stop):null) +  ".compareToIgnoreCase(" + (STRINGTOK69!=null?STRINGTOK69.getText():null) + ")>0";
                                }
                                else{
                                  System.out.println("Error!  No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mism atch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "condition"



    // $ANTLR start "assignmentStatement"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:647:1: assignmentStatement returns [String val] : ( DATET variableName ASSIGNMENT_OP DATE ENDOFSTMT | DATET variableName ENDOFSTMT | variableName ASSIGNMENT_OP DATE ENDOFSTMT | INT variableName ASSIGNMENT_OP NUMBER ENDOFSTMT | INT variableName ENDOFSTMT | variableName ASSIGNMENT_OP NUMBER ENDOFSTMT | STRING variableName ASSIGNMENT_OP STRINGTOK ENDOFSTMT | STRING variableName ENDOFSTMT | variableName ASSIGNMENT_OP STRINGTOK ENDOFSTMT |v1= variableName ASSIGNMENT_OP v2= variableName ENDOFSTMT | variableName ASSIGNMENT_OP READT LEFTPARAN RIGHTPARAN ENDOFSTMT );
    public final String assignmentStatement() throws RecognitionException {
        String val = null;


        Token DATE71=null;
        Token ASSIGNMENT_OP72=null;
        Token DATE75=null;
        Token NUMBER77=null;
        Token ASSIGNMENT_OP78=null;
        Token NUMBER81=null;
        Token STRINGTOK83=null;
        Token ASSIGNMENT_OP84=null;
        Token STRINGTOK87=null;
        GrammarBackup5Parser.variableName_return v1 =null;

        GrammarBackup5Parser.variableName_return v2 =null;

        GrammarBackup5Parser.variableName_return variableName70 =null;

        GrammarBackup5Parser.variableName_return variableName73 =null;

        GrammarBackup5Parser.variableName_return variableName74 =null;

        GrammarBackup5Parser.variableName_return variableName76 =null;

        GrammarBackup5Parser.variableName_return variableName79 =null;

        GrammarBackup5Parser.variableName_return variableName80 =null;

        GrammarBackup5Parser.variableName_return variableName82 =null;

        GrammarBackup5Parser.variableName_return variableName85 =null;

        GrammarBackup5Parser.variableName_return variableName86 =null;

        GrammarBackup5Parser.variableName_return variableName88 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:648:3: ( DATET variableName ASSIGNMENT_OP DATE ENDOFSTMT | DATET variableName ENDOFSTMT | variableName ASSIGNMENT_OP DATE ENDOFSTMT | INT variableName ASSIGNMENT_OP NUMBER ENDOFSTMT | INT variableName ENDOFSTMT | variableName ASSIGNMENT_OP NUMBER ENDOFSTMT | STRING variableName ASSIGNMENT_OP STRINGTOK ENDOFSTMT | STRING variableName ENDOFSTMT | variableName ASSIGNMENT_OP STRINGTOK ENDOFSTMT |v1= variableName ASSIGNMENT_OP v2= variableName ENDOFSTMT | variableName ASSIGNMENT_OP READT LEFTPARAN RIGHTPARAN ENDOFSTMT )
            int alt20=11;
            switch ( input.LA(1) ) {
            case DATET:
                {
                int LA20_1 = input.LA(2);

                if ( (LA20_1==IDENTIFIER) ) {
                    int LA20_5 = input.LA(3);

                    if ( (LA20_5==ASSIGNMENT_OP) ) {
                        alt20=1;
                    }
                    else if ( (LA20_5==ENDOFSTMT) ) {
                        alt20=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 5, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 1, input);

                    throw nvae;

                }
                }
                break;
            case IDENTIFIER:
                {
                int LA20_2 = input.LA(2);

                if ( (LA20_2==ASSIGNMENT_OP) ) {
                    switch ( input.LA(3) ) {
                    case DATE:
                        {
                        alt20=3;
                        }
                        break;
                    case NUMBER:
                        {
                        alt20=6;
                        }
                        break;
                    case STRINGTOK:
                        {
                        alt20=9;
                        }
                        break;
                    case READT:
                        {
                        alt20=11;
                        }
                        break;
                    case IDENTIFIER:
                        {
                        alt20=10;
                        }
                        break;
                    default:
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 6, input);

                        throw nvae;

                    }

                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 2, input);

                    throw nvae;

                }
                }
                break;
            case INT:
                {
                int LA20_3 = input.LA(2);

                if ( (LA20_3==IDENTIFIER) ) {
                    int LA20_7 = input.LA(3);

                    if ( (LA20_7==ASSIGNMENT_OP) ) {
                        alt20=4;
                    }
                    else if ( (LA20_7==ENDOFSTMT) ) {
                        alt20=5;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 7, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 3, input);

                    throw nvae;

                }
                }
                break;
            case STRING:
                {
                int LA20_4 = input.LA(2);

                if ( (LA20_4==IDENTIFIER) ) {
                    int LA20_8 = input.LA(3);

                    if ( (LA20_8==ASSIGNMENT_OP) ) {
                        alt20=7;
                    }
                    else if ( (LA20_8==ENDOFSTMT) ) {
                        alt20=8;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 8, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 4, input);

                    throw nvae;

                }
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 20, 0, input);

                throw nvae;

            }

            switch (alt20) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:649:3: DATET variableName ASSIGNMENT_OP DATE ENDOFSTMT
                    {
                    match(input,DATET,FOLLOW_DATET_in_assignmentStatement1377); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1379);
                    variableName70=variableName();

                    state._fsp--;


                    ASSIGNMENT_OP72=(Token)match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1381); 

                    DATE71=(Token)match(input,DATE,FOLLOW_DATE_in_assignmentStatement1383); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1385); 


                        if(!symbolTable.containsKey((variableName70!=null?input.toString(variableName70.start,variableName70.stop):null)))
                        {
                          String[] s = new String[2];
                          s[0] = "date";
                          s[1] = (DATE71!=null?DATE71.getText():null);
                          symbolTable.put((variableName70!=null?input.toString(variableName70.start,variableName70.stop):null), s);
                         // val = "String " + (variableName70!=null?input.toString(variableName70.start,variableName70.stop):null) + (ASSIGNMENT_OP72!=null?ASSIGNMENT_OP72.getText():null) + "\"" + (DATE71!=null?DATE71.getText():null) +"\";";
                         val = "_date = \"" + (DATE71!=null?DATE71.getText():null) + "\"; \n" +
                                "java.util.Date "+ (variableName70!=null?input.toString(variableName70.start,variableName70.stop):null) +"= null; \n" +
                                "try{ \n" +
                                 (variableName70!=null?input.toString(variableName70.start,variableName70.stop):null) +" = _sdf.parse(_date); \n" +
                                " } catch (ParseException _e) { \n" +
                                "} \n";
                          
                          date = (DATE71!=null?DATE71.getText():null);
                          checkDate = null;
                          sdf = new SimpleDateFormat("MM/dd");
                        
                        try {
                          
                          checkDate = sdf.parse(date);
                        } catch (ParseException e) {
                          // TODO Auto-generated catch block
                          System.out.println("EXCEPTION in date format!!!!!!!!!!!");
                          
                        }
                        
                        if(!sdf.format(checkDate).equals(date)){
                          System.out.println("ERROR in date format!!!!");
                        }
                        }
                        else
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName70!=null?input.toString(variableName70.start,variableName70.stop):null));
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:686:3: DATET variableName ENDOFSTMT
                    {
                    match(input,DATET,FOLLOW_DATET_in_assignmentStatement1397); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1399);
                    variableName73=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1401); 


                        if(symbolTable.containsKey((variableName73!=null?input.toString(variableName73.start,variableName73.stop):null)))
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName73!=null?input.toString(variableName73.start,variableName73.stop):null));
                        else {
                          String[] s = new String[2];
                          s[0] = "date";
                          s[1] = null;
                          symbolTable.put((variableName73!=null?input.toString(variableName73.start,variableName73.stop):null), s);
                         // val = "String " + (variableName73!=null?input.toString(variableName73.start,variableName73.stop):null) + " = null;";
                         val = "java.util.Date "+ (variableName73!=null?input.toString(variableName73.start,variableName73.stop):null) +"= null; \n";
                        }
                      

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:700:3: variableName ASSIGNMENT_OP DATE ENDOFSTMT
                    {
                    pushFollow(FOLLOW_variableName_in_assignmentStatement1413);
                    variableName74=variableName();

                    state._fsp--;


                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1415); 

                    DATE75=(Token)match(input,DATE,FOLLOW_DATE_in_assignmentStatement1417); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1419); 


                        if(!symbolTable.containsKey((variableName74!=null?input.toString(variableName74.start,variableName74.stop):null)))
                          System.out.println("Error! Undefined variable!!" + (variableName74!=null?input.toString(variableName74.start,variableName74.stop):null));
                        else {
                          if(symbolTable.get((variableName74!=null?input.toString(variableName74.start,variableName74.stop):null))[TYPE].equals("date")){
                          String[] s = new String[2];
                          s[0] = "date";
                          s[1] = (DATE75!=null?DATE75.getText():null);
                          symbolTable.put((variableName74!=null?input.toString(variableName74.start,variableName74.stop):null), s);
                        //  val = (variableName74!=null?input.toString(variableName74.start,variableName74.stop):null) + " = new Date(\"" + (DATE75!=null?DATE75.getText():null) + "\");" ;}
                       val = "_date = \"" + (DATE75!=null?DATE75.getText():null) + "\"; \n" +
                              "try{ \n" +
                                 (variableName74!=null?input.toString(variableName74.start,variableName74.stop):null) +" = _sdf.parse(_date); \n" +
                                " } catch (ParseException _e) { \n" +
                                "} \n";
                                
                         date = (DATE75!=null?DATE75.getText():null);
                          checkDate = null;
                        sdf = new SimpleDateFormat("MM/dd");
                        
                        try { 
                          
                           checkDate = sdf.parse(date);
                        } catch (ParseException e) {
                          // TODO Auto-generated catch block
                          System.out.println("EXCEPTION in date format!!!!!!!!!!!");
                          
                        }
                        
                        if(!sdf.format(checkDate).equals(date)){
                          System.out.println("ERROR in date format!!!!");
                        }
                        
                        }
                          else{
                            System.out.println("Error! Type mismatch!");
                          }
                        }
                      

                    }
                    break;
                case 4 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:740:5: INT variableName ASSIGNMENT_OP NUMBER ENDOFSTMT
                    {
                    match(input,INT,FOLLOW_INT_in_assignmentStatement1429); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1431);
                    variableName76=variableName();

                    state._fsp--;


                    ASSIGNMENT_OP78=(Token)match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1433); 

                    NUMBER77=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_assignmentStatement1435); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1437); 


                        if(!symbolTable.containsKey((variableName76!=null?input.toString(variableName76.start,variableName76.stop):null))){
                        String[] s = new String[2];
                        s[0] = "int";
                        s[1] = (NUMBER77!=null?NUMBER77.getText():null);
                        symbolTable.put((variableName76!=null?input.toString(variableName76.start,variableName76.stop):null), s);
                        val = "int " + (variableName76!=null?input.toString(variableName76.start,variableName76.stop):null) + (ASSIGNMENT_OP78!=null?ASSIGNMENT_OP78.getText():null) + (NUMBER77!=null?NUMBER77.getText():null) + ";";}
                        else
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName76!=null?input.toString(variableName76.start,variableName76.stop):null));
                      

                    }
                    break;
                case 5 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:752:3: INT variableName ENDOFSTMT
                    {
                    match(input,INT,FOLLOW_INT_in_assignmentStatement1449); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1451);
                    variableName79=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1453); 


                        if(symbolTable.containsKey((variableName79!=null?input.toString(variableName79.start,variableName79.stop):null)))
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName79!=null?input.toString(variableName79.start,variableName79.stop):null));
                        else {
                          String[] s = new String[2];
                          s[0] = "int";
                          s[1] = null;
                          symbolTable.put((variableName79!=null?input.toString(variableName79.start,variableName79.stop):null), s);
                          val = "int " + (variableName79!=null?input.toString(variableName79.start,variableName79.stop):null) + ";";
                        }
                      

                    }
                    break;
                case 6 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:765:3: variableName ASSIGNMENT_OP NUMBER ENDOFSTMT
                    {
                    pushFollow(FOLLOW_variableName_in_assignmentStatement1465);
                    variableName80=variableName();

                    state._fsp--;


                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1467); 

                    NUMBER81=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_assignmentStatement1469); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1471); 


                        if(!symbolTable.containsKey((variableName80!=null?input.toString(variableName80.start,variableName80.stop):null)))
                          System.out.println("Error! Undefined variable!" + (variableName80!=null?input.toString(variableName80.start,variableName80.stop):null));
                        else {
                           if(symbolTable.get((variableName80!=null?input.toString(variableName80.start,variableName80.stop):null))[TYPE].equals("int")){
                          String[] s = new String[2];
                          s[0] = "int";
                          s[1] = null;
                          symbolTable.put((variableName80!=null?input.toString(variableName80.start,variableName80.stop):null), s);
                          val =  (variableName80!=null?input.toString(variableName80.start,variableName80.stop):null) + " = " + (NUMBER81!=null?NUMBER81.getText():null) + ";";}
                          else{
                            System.out.println("Error! Type mismatch!");
                          }
                        }
                      

                    }
                    break;
                case 7 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:782:3: STRING variableName ASSIGNMENT_OP STRINGTOK ENDOFSTMT
                    {
                    match(input,STRING,FOLLOW_STRING_in_assignmentStatement1483); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1485);
                    variableName82=variableName();

                    state._fsp--;


                    ASSIGNMENT_OP84=(Token)match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1487); 

                    STRINGTOK83=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_assignmentStatement1489); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1491); 


                        if(!symbolTable.containsKey((variableName82!=null?input.toString(variableName82.start,variableName82.stop):null))){
                        String[] s = new String[2];
                        s[0] = "string";
                        s[1] = (STRINGTOK83!=null?STRINGTOK83.getText():null);
                        symbolTable.put((variableName82!=null?input.toString(variableName82.start,variableName82.stop):null), s);
                        val = "String " + (variableName82!=null?input.toString(variableName82.start,variableName82.stop):null) + (ASSIGNMENT_OP84!=null?ASSIGNMENT_OP84.getText():null) + (STRINGTOK83!=null?STRINGTOK83.getText():null) + ";";}
                        else
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName82!=null?input.toString(variableName82.start,variableName82.stop):null));
                      

                    }
                    break;
                case 8 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:794:3: STRING variableName ENDOFSTMT
                    {
                    match(input,STRING,FOLLOW_STRING_in_assignmentStatement1503); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1505);
                    variableName85=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1507); 


                        if(symbolTable.containsKey((variableName85!=null?input.toString(variableName85.start,variableName85.stop):null)))
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName85!=null?input.toString(variableName85.start,variableName85.stop):null));
                        else {
                          String[] s = new String[2];
                          s[0] = "string";
                          s[1] = null;
                          symbolTable.put((variableName85!=null?input.toString(variableName85.start,variableName85.stop):null), s);
                          val = "String " + (variableName85!=null?input.toString(variableName85.start,variableName85.stop):null) + ";";
                        }
                      

                    }
                    break;
                case 9 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:807:3: variableName ASSIGNMENT_OP STRINGTOK ENDOFSTMT
                    {
                    pushFollow(FOLLOW_variableName_in_assignmentStatement1519);
                    variableName86=variableName();

                    state._fsp--;


                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1521); 

                    STRINGTOK87=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_assignmentStatement1523); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1525); 


                        if(!symbolTable.containsKey((variableName86!=null?input.toString(variableName86.start,variableName86.stop):null)))
                          System.out.println("Error! Undefined vairable!" + (variableName86!=null?input.toString(variableName86.start,variableName86.stop):null));
                        else {
                         if(symbolTable.get((variableName86!=null?input.toString(variableName86.start,variableName86.stop):null))[TYPE].equals("date")){
                          String[] s = new String[2];
                          s[0] = "string";
                          s[1] = null;
                          symbolTable.put((variableName86!=null?input.toString(variableName86.start,variableName86.stop):null), s);
                          val = (variableName86!=null?input.toString(variableName86.start,variableName86.stop):null) + "=" + (STRINGTOK87!=null?STRINGTOK87.getText():null) + ";";}
                          else{
                             System.out.println("Error! Type mismatch!");
                          }
                        }
                      

                    }
                    break;
                case 10 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:824:4: v1= variableName ASSIGNMENT_OP v2= variableName ENDOFSTMT
                    {
                    pushFollow(FOLLOW_variableName_in_assignmentStatement1540);
                    v1=variableName();

                    state._fsp--;


                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1542); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1546);
                    v2=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1548); 


                        if(symbolTable.containsKey((v1!=null?input.toString(v1.start,v1.stop):null)) && symbolTable.containsKey((v2!=null?input.toString(v2.start,v2.stop):null))){
                              if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[TYPE].equals(symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[TYPE])){
                                if(symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[VALUE] == null){
                                  val = (v1!=null?input.toString(v1.start,v1.stop):null) + " = " + (v2!=null?input.toString(v2.start,v2.stop):null) + ";" ;
                              }
                              else{
                                  System.out.println("Error!  No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                        }
                      

                    }
                    break;
                case 11 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:844:3: variableName ASSIGNMENT_OP READT LEFTPARAN RIGHTPARAN ENDOFSTMT
                    {
                    pushFollow(FOLLOW_variableName_in_assignmentStatement1560);
                    variableName88=variableName();

                    state._fsp--;


                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1562); 

                    match(input,READT,FOLLOW_READT_in_assignmentStatement1564); 

                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_assignmentStatement1566); 

                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_assignmentStatement1568); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1570); 


                        if(symbolTable.containsKey((variableName88!=null?input.toString(variableName88.start,variableName88.stop):null))){
                          String[] s = new String[2];
                          s = symbolTable.get((variableName88!=null?input.toString(variableName88.start,variableName88.stop):null));
                          s[1] = "";
                          symbolTable.put((variableName88!=null?input.toString(variableName88.start,variableName88.stop):null), s);
                       //   val = "String " + (variableName88!=null?input.toString(variableName88.start,variableName88.stop):null) + ";";
                                 // val = (variableName88!=null?input.toString(variableName88.start,variableName88.stop):null) + " = s.next();";
                                 val ="_input=s.next();\n";
                                 if(s[0].equalsIgnoreCase("string"))
                                 {
                                 val+=(variableName88!=null?input.toString(variableName88.start,variableName88.stop):null)+"=_input;\n";
                                 }
                                 else if(s[0].equalsIgnoreCase("int"))
                                 {
                                 val+=(variableName88!=null?input.toString(variableName88.start,variableName88.stop):null)+"=Integer.parseInt(_input);\n";
                                 }
                                 else if(s[0].equalsIgnoreCase("date"))
                                 {
                                    val += "_date = _input ; \n" +
                                    "try{ \n" +
                                      (variableName88!=null?input.toString(variableName88.start,variableName88.stop):null) +" = _sdf.parse(_date); \n" +
                                " } catch (ParseException _e) { \n" +
                                "} \n" +
                                "if(!_sdf.format(" + (variableName88!=null?input.toString(variableName88.start,variableName88.stop):null) + ").equals(_date)){ \n" +
                                " System.out.println(\"ERROR in date format!!!!\"); \n" +
                                " } \n "
                                ;
                                
                                
                             
                                }
                                
                         
                        }
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "assignmentStatement"



    // $ANTLR start "createEventCommand"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:883:1: createEventCommand returns [String val] : CREATEEVENT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT ;
    public final String createEventCommand() throws RecognitionException {
        String val = null;


        String parameters89 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:884:3: ( CREATEEVENT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:885:3: CREATEEVENT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT
            {
            match(input,CREATEEVENT,FOLLOW_CREATEEVENT_in_createEventCommand1593); 

            match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_createEventCommand1595); 

            pushFollow(FOLLOW_parameters_in_createEventCommand1597);
            parameters89=parameters();

            state._fsp--;


            match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_createEventCommand1599); 

            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_createEventCommand1601); 


                String s = new String("createEvent(" + parameters89 + ")");
                mainFuncString.add(s);
                val = "createEvent(" + parameters89 + ")" + ";\n";
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "createEventCommand"



    // $ANTLR start "runCommand"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:893:1: runCommand returns [String val] : GENERATEOUTFIT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT ;
    public final String runCommand() throws RecognitionException {
        String val = null;


        String parameters90 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:894:3: ( GENERATEOUTFIT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:895:3: GENERATEOUTFIT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT
            {
            match(input,GENERATEOUTFIT,FOLLOW_GENERATEOUTFIT_in_runCommand1626); 

            match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_runCommand1628); 

            pushFollow(FOLLOW_parameters_in_runCommand1630);
            parameters90=parameters();

            state._fsp--;


            match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_runCommand1632); 

            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_runCommand1634); 


                String s = new String("generateOutfit(" + parameters90 + ")");
                mainFuncString.add(s);
                val = "generateOutfit(" + parameters90 + ");";
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "runCommand"



    // $ANTLR start "parameters"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:903:1: parameters returns [String val] : IDENTIFIER parameters1 ;
    public final String parameters() throws RecognitionException {
        String val = null;


        Token IDENTIFIER91=null;
        String parameters192 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:904:3: ( IDENTIFIER parameters1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:905:3: IDENTIFIER parameters1
            {
            IDENTIFIER91=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_parameters1658); 

            pushFollow(FOLLOW_parameters1_in_parameters1660);
            parameters192=parameters1();

            state._fsp--;



            //       System.out.println("text2: "+(IDENTIFIER91!=null?IDENTIFIER91.getText():null));
                   val = (IDENTIFIER91!=null?IDENTIFIER91.getText():null) + ", " + parameters192 ;
                   val = val.substring(0, val.length()-2);
                

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "parameters"



    // $ANTLR start "parameters1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:913:1: parameters1 returns [String param] : ( ',' IDENTIFIER p1= parameters1 |);
    public final String parameters1() throws RecognitionException {
        String param = null;


        Token IDENTIFIER93=null;
        String p1 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:914:3: ( ',' IDENTIFIER p1= parameters1 |)
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==60) ) {
                alt21=1;
            }
            else if ( (LA21_0==RIGHTPARAN) ) {
                alt21=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 21, 0, input);

                throw nvae;

            }
            switch (alt21) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:915:3: ',' IDENTIFIER p1= parameters1
                    {
                    match(input,60,FOLLOW_60_in_parameters11685); 

                    IDENTIFIER93=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_parameters11687); 

                    pushFollow(FOLLOW_parameters1_in_parameters11691);
                    p1=parameters1();

                    state._fsp--;



                    //      System.out.println("text: "+(IDENTIFIER93!=null?IDENTIFIER93.getText():null));
                            param = (IDENTIFIER93!=null?IDENTIFIER93.getText():null) + ", " + p1;
                        

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:921:3: 
                    {
                     
                        param = "";
                    //    System.out.println ("i did come here"); 
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return param;
    }
    // $ANTLR end "parameters1"


    public static class wardrobeName_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "wardrobeName"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:928:1: wardrobeName : IDENTIFIER ;
    public final GrammarBackup5Parser.wardrobeName_return wardrobeName() throws RecognitionException {
        GrammarBackup5Parser.wardrobeName_return retval = new GrammarBackup5Parser.wardrobeName_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:928:15: ( IDENTIFIER )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:928:18: IDENTIFIER
            {
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_wardrobeName1719); 

            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "wardrobeName"


    public static class prefRange_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "prefRange"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:930:1: prefRange : ( '1' | '2' | '3' );
    public final GrammarBackup5Parser.prefRange_return prefRange() throws RecognitionException {
        GrammarBackup5Parser.prefRange_return retval = new GrammarBackup5Parser.prefRange_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:930:12: ( '1' | '2' | '3' )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:
            {
            if ( (input.LA(1) >= 61 && input.LA(1) <= 63) ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "prefRange"


    public static class value_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "value"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:932:1: value : IDENTIFIER ;
    public final GrammarBackup5Parser.value_return value() throws RecognitionException {
        GrammarBackup5Parser.value_return retval = new GrammarBackup5Parser.value_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:932:8: ( IDENTIFIER )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:932:11: IDENTIFIER
            {
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_value1751); 

            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "value"


    public static class variableName_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "variableName"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:934:1: variableName : IDENTIFIER ;
    public final GrammarBackup5Parser.variableName_return variableName() throws RecognitionException {
        GrammarBackup5Parser.variableName_return retval = new GrammarBackup5Parser.variableName_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:934:15: ( IDENTIFIER )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup5.g:934:18: IDENTIFIER
            {
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variableName1763); 

            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "variableName"

    // Delegated rules


 

    public static final BitSet FOLLOW_wardrobeCreation_in_start49 = new BitSet(new long[]{0x0030000000000000L});
    public static final BitSet FOLLOW_mainOptional_in_start51 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mainProgram_in_start63 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mainProgram_in_mainOptional90 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_createStatement_in_wardrobeCreation122 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_wardrobeCreation124 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_items_in_wardrobeCreation126 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_wardrobeCreation128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CREATET_in_createStatement152 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_WARDROBET_in_createStatement154 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_wardrobeName_in_createStatement156 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_createStatement158 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_item_in_items180 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_items1_in_items184 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_item_in_items1204 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_items1_in_items1207 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LEFTCURLY_in_item234 = new BitSet(new long[]{0x0000000020000000L});
    public static final BitSet FOLLOW_type_in_item238 = new BitSet(new long[]{0x0100282220000100L});
    public static final BitSet FOLLOW_category_in_item240 = new BitSet(new long[]{0x0100282200000100L});
    public static final BitSet FOLLOW_weight_in_item242 = new BitSet(new long[]{0x0000282200000100L});
    public static final BitSet FOLLOW_color_in_item244 = new BitSet(new long[]{0x0000282200000000L});
    public static final BitSet FOLLOW_shade_in_item246 = new BitSet(new long[]{0x0000082200000000L});
    public static final BitSet FOLLOW_maker_in_item248 = new BitSet(new long[]{0x0000082000000000L});
    public static final BitSet FOLLOW_preference_in_item250 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_item252 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ITEMT_in_type275 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_type277 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_type279 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_type281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ITEMT_in_category308 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_category310 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_category312 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_category314 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_WEIGHT_in_weight349 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_weight351 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_weight353 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_weight355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_COLORT_in_color390 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_color392 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_color394 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_color396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SHADET_in_shade429 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_shade431 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_shade433 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_shade435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_MAKERT_in_maker468 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_maker470 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_maker472 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_maker474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PREFERENCET_in_preference507 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_preference509 = new BitSet(new long[]{0xE000000000000000L});
    public static final BitSet FOLLOW_prefRange_in_preference511 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_preference513 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_header_in_mainProgram546 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_mainDecl_in_mainProgram548 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_mainProgram550 = new BitSet(new long[]{0x0001034016002400L,0x0000000000000001L});
    public static final BitSet FOLLOW_lines_in_mainProgram552 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_createEventCommand_in_mainProgram554 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_runCommand_in_mainProgram556 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_mainProgram558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_USET_in_header581 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_WARDROBET_in_header583 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_wardrobeNames_in_header585 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_header587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_wardrobeName_in_wardrobeNames621 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_wardrobeNames1_in_wardrobeNames623 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_wardrobeNames1648 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_wardrobeName_in_wardrobeNames1650 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_wardrobeNames1_in_wardrobeNames1654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_VOID_in_mainDecl686 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_MAIN_in_mainDecl688 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_mainDecl690 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_mainDecl692 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_lines719 = new BitSet(new long[]{0x0001034016002000L,0x0000000000000001L});
    public static final BitSet FOLLOW_lines_in_lines723 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_assignmentStatement_in_line755 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_64_in_line768 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_GARMENT_in_line770 = new BitSet(new long[]{0x0400000000000000L});
    public static final BitSet FOLLOW_58_in_line772 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_WARDROBET_in_line774 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_line776 = new BitSet(new long[]{0x00010B4016002000L,0x0000000000000001L});
    public static final BitSet FOLLOW_lines_in_line778 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_line780 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IF_in_line795 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_expr_in_line797 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_line799 = new BitSet(new long[]{0x00010B4016002000L,0x0000000000000001L});
    public static final BitSet FOLLOW_lines_in_line801 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_line803 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_optional_tail_in_line805 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_REJTOK_in_line819 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_line821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_READT_in_line835 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_line837 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_line839 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_line841 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PRINTT_in_line855 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_line857 = new BitSet(new long[]{0x0002000002000000L});
    public static final BitSet FOLLOW_printargs_in_line859 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_line861 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_line863 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_printarg_in_printargs892 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_printargs1_in_printargs894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_printargs1927 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_STRINGTOK_in_printargs1929 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_printargs1_in_printargs1933 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_printargs1955 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_printargs1957 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_printargs1_in_printargs1961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_printarg1026 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_STRINGTOK_in_printarg1044 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ELSE_in_optional_tail1073 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_optional_tail1075 = new BitSet(new long[]{0x00010B4016002000L,0x0000000000000001L});
    public static final BitSet FOLLOW_lines_in_optional_tail1077 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_optional_tail1079 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_conditions_in_expr1110 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LEFTPARAN_in_conditions1133 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_conditions_in_conditions1137 = new BitSet(new long[]{0x0000001000000020L});
    public static final BitSet FOLLOW_beta_in_conditions1139 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LEFTPARAN_in_conditions1149 = new BitSet(new long[]{0x0002000402001000L});
    public static final BitSet FOLLOW_condition_in_conditions1151 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_conditions1153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_AND_in_beta1178 = new BitSet(new long[]{0x0002000402001000L});
    public static final BitSet FOLLOW_condition_in_beta1180 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_beta1182 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_OR_in_beta1192 = new BitSet(new long[]{0x0002000402001000L});
    public static final BitSet FOLLOW_condition_in_beta1194 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_beta1196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUMBER_in_condition1225 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1227 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NUMBER_in_condition1231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1250 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1252 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1256 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUMBER_in_condition1268 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1270 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1272 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1284 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1286 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NUMBER_in_condition1288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DATE_in_condition1298 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1300 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1302 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1314 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1316 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DATE_in_condition1318 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_STRINGTOK_in_condition1331 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1333 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1348 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1350 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_STRINGTOK_in_condition1352 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DATET_in_assignmentStatement1377 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1379 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1381 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DATE_in_assignmentStatement1383 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DATET_in_assignmentStatement1397 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1399 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1413 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1415 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DATE_in_assignmentStatement1417 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1419 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INT_in_assignmentStatement1429 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1431 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1433 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NUMBER_in_assignmentStatement1435 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1437 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INT_in_assignmentStatement1449 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1451 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1453 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1465 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1467 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NUMBER_in_assignmentStatement1469 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1471 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_STRING_in_assignmentStatement1483 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1485 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1487 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_STRINGTOK_in_assignmentStatement1489 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1491 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_STRING_in_assignmentStatement1503 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1505 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1507 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1519 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1521 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_STRINGTOK_in_assignmentStatement1523 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1540 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1542 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1546 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1560 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1562 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_READT_in_assignmentStatement1564 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_assignmentStatement1566 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_assignmentStatement1568 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CREATEEVENT_in_createEventCommand1593 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_createEventCommand1595 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_parameters_in_createEventCommand1597 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_createEventCommand1599 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_createEventCommand1601 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_GENERATEOUTFIT_in_runCommand1626 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_runCommand1628 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_parameters_in_runCommand1630 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_runCommand1632 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_runCommand1634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_parameters1658 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_parameters1_in_parameters1660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_parameters11685 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_parameters11687 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_parameters1_in_parameters11691 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_wardrobeName1719 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_value1751 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_variableName1763 = new BitSet(new long[]{0x0000000000000002L});

}